package com.hyt.it.ogt.kq.common.govData.enums.kwgov;

import com.hyt.it.ogt.kq.common.config.exception.KqException;
import com.hyt.it.ogt.kq.common.gov.constant.ResponseCode;
import lombok.Getter;

/**
 * 用户类型枚举
 * @author Chengxh
 */
@Getter
public enum UserRoleType {

    /**
     * 用户类型
     */
    USER_ROLE_TYPE_ADMIN("gl_kw_admin","管理员") ,
    USER_ROLE_TYPE_PROCTOR("gl_kw_proctor","监考员") ,

    ;

    private final String code;
    private final String name;

    UserRoleType(String code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 根据code获取用户类型枚举
     * @param code 用户类型code
     * @return 用户类型枚举
     * @throws KqException 异常
     */
    public static UserRoleType getByCode(String code) throws KqException {
        for (UserRoleType value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        //用户类型不存在
        throw new KqException(ResponseCode.USER_TYPE_NOT_FOUND.getCode(),
                ResponseCode.USER_TYPE_NOT_FOUND.getMsg());
    }

}
